#include "Hello.h"

#include <iostream>

ReturnValue SUT::SutMethod(Doc1 *doc, Doc2 *doc2, int switcher)
{
    doc2->DoSomething("SUT data: " 
                        + std::to_string(switcher) 
                        + " to doc 2");

    return ReturnValue("SUT visited " 
                        + doc->GetValue(switcher));
}

std::string Doc1::GetValue(int switcher)
{
    return "I always return 1";
}

void Doc2::DoSomething(std::string value)
{
    std::cout << "print " << value << std::endl;
}

ReturnValue::ReturnValue(std::string value) : value(value)
{
}

std::string ReturnValue::GetValue()
{
    return this->value;
}

DetectStatus::DetectStatus(bool isBlock, size_t distance) : isBlock(isBlock), distance(distance)
{
}